#ifndef _CMD_H__
#define _CMD_H__

#include "stm32f10x.h"
#include "cmd_msg.h"
#include "Emm_V5.h"
#include "delay.h"
#include "motor.h"
#include "tim3.h"
#include "tim2.h"

/*数据包相关命令*/
#define CMD_TEST            0x01        // 用于测试连通性
#define CMD_MOTOR_POSE      0x02        // 控制电机位置data长度固定为5 data[0]-电机位号:1-6 ,data[1]-data[4]:需要转动到的绝对步进角(uint32_t大端)
#define CMD_MOTOR_RESET     0x03        // 复位所有电机
#define CMD_MOTOR_GETPOS    0x04        // 更新电机位置data长度固定为6 第一位是电机编号 第二位是符号位0正1负, 最后四位表示一个u32 (大端)
#define CMD_MOTOR_SERVO     0x05        // 控制舵机 data长度固定为5 data[0]-舵机位号:1-2 ,data[1]-data[4]; 舵机转动的角度, 7表示360舵机链接PA0
#define CMD_MOTOR_ERR       0xff        // 电机发生错误


void cmd_init(void);
void cmd_check(void);

/* 任务 */
void test(void);
int testCmd(char *data, int len);

#endif